package regra;

import java.util.List;

import basicas.Usuario;

import dao.DAOUsuario;
import dao.IDAOUsuario;
import exceptions.UsuarioExistenteException;

public class RNUsuario implements IRNUsuario {
	
	private IDAOUsuario dao = new DAOUsuario();
	
	
	/* (non-Javadoc)
	 * @see regra.IRNUsuario#inserir(domain.cadastro.Usuario)
	 */
	@Override
	public void inserir(Usuario u) throws UsuarioExistenteException{
		if(consultarPorEmail(u.getEmail())== null){
			dao.inserir(u);
		} else {
			throw new UsuarioExistenteException();
		}
	}
	
	/* (non-Javadoc)
	 * @see regra.IRNUsuario#excluir(domain.cadastro.Usuario)
	 */
	@Override
	public void excluir(Usuario u){
		dao.remover(u);
	}
	
	/* (non-Javadoc)
	 * @see regra.IRNUsuario#consultarPorId(java.lang.Integer)
	 */
	@Override
	public Usuario consultarPorId(Integer id){
		return dao.consultarPorId(id);
	}
	
	/* (non-Javadoc)
	 * @see regra.IRNUsuario#consultarPorEmail(java.lang.String)
	 */
	@Override
	public Usuario consultarPorEmail(String email){
		return dao.consultarPorEmail(email);
	}
	
	/* (non-Javadoc)
	 * @see regra.IRNUsuario#consultarTodos()
	 */
	@Override
	public List<Usuario> consultarTodos(){
		return dao.consultarTodos();
	}
	
	/* (non-Javadoc)
	 * @see regra.IRNUsuario#alterar(domain.cadastro.Usuario)
	 */
	@Override
	public void alterar(Usuario u){
		dao.alterar(u);
	}
	
	

}
